var app = getApp();
Page({
  data: {
    nowImage:null,//当前选中照片
    nowTime:null,
    checkedInfo:{},//当前用户是否打卡
    changeImage:false,
  },
  //开始打卡
  makeCheck(){
    var that = this
    wx.showLoading({
      title: '开始打卡',
    })
    if(this.data.changeImage==false){
      app.requestPromise('/check/makeCheck','PUT',this.data.checkedInfo).then(res=>{
        wx.showToast({
          title: res.data.msg,
          icon: 'success',
          duration: 2000
        })
        wx.hideLoading();
        if(res.data.code==200){//如果打卡成功则刷新打卡信息
          that.getCheckInfo();
        }
      })
      return;
    }
    
    //先上传文件
    app.upload('file',this.data.nowImage).then(res=>{
      console.log(res);
      wx.hideLoading()
      if (res.statusCode == 200) {
        //开始打卡
        var img = res.data;
        img = img.replace(/"/g, ''); // 使用正则表达式替换所有双引号
        console.log(img);
        that.setData({
          'checkedInfo.img':img
        })
        app.requestPromise('/check/makeCheck','PUT',that.data.checkedInfo).then(res=>{
          wx.showToast({
            title: res.data.msg,
            icon: 'success',
            duration: 2000
          })
          if(res.data.code==200){//如果打卡成功则刷新打卡信息
            that.getCheckInfo();
          }
        })
      } else {
        wx.showToast({
          title: '文件上传失败',
          icon: 'none',
          duration: 2000
        })
      }
    }).catch(err=>{
      wx.hideLoading()
      wx.showToast({
        title: '文件上传失败',
        icon: 'none',
        duration: 2000
      })
    })
  },
  //获取当前用户的打卡信息
  getCheckInfo(){
    app.requestPromise('/check/getCheckInfo','GET',{token:wx.getStorageSync('token')}).then(res=>{
      this.setData({
        nowTime:res.data.data.startTime.split(' ')[0]
      })
      this.setData({
        checkedInfo:res.data.data
      })
      this.setData({
        nowImage:res.data.data.img
      })
    })
  },
  //保存当前图片
  saveNowImage(){
    app.upload('file',this.data.nowImage).then(res=>{
      console.log(res);
    }).catch(err=>{
      console.log(err);
    })
  },
  //选择照片
  choicePhoto(){
    var that = this
    wx.chooseImage({
      count: 1, // 默认为9，设置选择图片的数量
      sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认都有
      sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认都有
      success: function(res) {
        // tempFilePaths 是一个数组，包含了所选图片的本地临时文件路径列表，可以做为 img 标签的 src 属性显示图片
        const tempFilePaths = res.tempFilePaths[0];
        console.log(tempFilePaths)
        that.setData({
          nowImage:tempFilePaths
        })
        that.setData({
          changeImage:true
        })
        const tempFiles = res.tempFiles;
        //如果是拍摄的则存入系统相册
        if(tempFiles[0].sourceType === 'camera'){
          wx.saveImageToPhotosAlbum({
            filePath:tempFilePaths
          })
        }
      },
      fail: function(error) {
        // 处理选择图片失败的情况
        console.error('选择图片失败', error);
      }
    })
  },
  onPullDownRefresh: function () {
    // 显示导航栏加载动画
    wx.showNavigationBarLoading();

    // 模拟加载数据的过程，实际情况下可以是发起网络请求等操作
    this.getCheckInfo();
    setTimeout(function () {
      // 加载数据完成后隐藏导航栏加载动画
      wx.hideNavigationBarLoading();
      // 停止下拉刷新动画
      wx.stopPullDownRefresh();
    }, 500);
  },
  onLoad: function() {
    this.getCheckInfo();
  },
  onHide:function(){
  },
  onShow:function(){
  }
})